<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"    
      xmlns:f="http://java.sun.com/jsf/core">

    <body>
        <ui:composition template="./../MasterPage/masterPage.xhtml">
            <ui:define name="content">
                <p:panel header="Postergación de Encomiendas">
                    <h:form id="frmNuevo">
                        <p:growl id="growl" showDetail="true"/>        
                        <h:panelGrid id="padre" columns="1" style="width: 100%">                            
                            <h:panelGrid id="hijo2" columns="1" style="width: 100%">
                                <h:panelGrid id="buscador" columns="4" style="width: 80%" cellpadding="5">
                                    <h:outputText value="Del Viaje" />
                                    <p:selectOneMenu id="viaj" filter="true" filterMatchMode="contains" value="#{managedBeanEncomienda.objetoEmcomiendaCrear.viaje}" effect="drop" style="width:425px" converter="ViajesConverter" >
                                        <f:selectItems  value="#{managedBeanViajes.objetoItems2}"/>
                                        <p:ajax event="change" listener="#{managedBeanEncomienda.filtrarEncomiendasxviaje()}" update=":frmNuevo:dataTable"  />
                                    </p:selectOneMenu>
                                    <h:outputText value="Postergar o Adelantar para el viaje:" />
                                    <p:selectOneMenu required="true" requiredMessage="Elija viaje al cual se postergarán las encomiendas" id="viajepost" filter="true" filterMatchMode="contains" value="#{managedBeanEncomienda.objetoEmcomiendaCrear2.viaje}" effect="drop" style="width:425px" converter="ViajesConverter" >
                                        <f:selectItems  value="#{managedBeanViajes.objetoItemsviajediariohhmm}"/>
                                    </p:selectOneMenu>
                                </h:panelGrid>
                                <!-- Trbbajamos el primero combo con el objeto encomienda para no cruzarse con el objeto encomienda(lo usamos en el 2do combo que es el que realmente queremos que se guarde en la BD) que actualizaresmo -->
                               <br />
                                <p:dataTable id="dataTable" var="encomien" value="#{managedBeanEncomienda.lista3}" widgetVar="tableEncomiendas" emptyMessage="Datos no encontrados"
                                             selection="#{managedBeanEncomienda.objetoEmcomienda}" selectionMode="single"
                                             rowKey="#{encomien.idEncomienda}" >
                                    <p:ajax event="rowSelect" listener="#{managedBeanEncomienda.onRowSelect}"
                                            update=":frmNuevo:display :frmNuevo:tabladetalle :frmNuevo:growl" oncomplete="MarcaDialogo.show()" />
                                    <p:ajax event="rowUnselect" listener="#{managedBeanEncomienda.onRowUnselect}" update=":frmNuevo:growl"/>
                                    <f:facet name="header">  
                                        <p:outputPanel>  
                                            <h:outputText value="Listado de Encomiendas pertenecientes al Viaje Seleccinado y que seran Postergadas" />
                                        </p:outputPanel>
                                    </f:facet>
                                    <p:column id="nombre"  style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Agencia de Envio" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.agencia.ciudad.departamento.depDepartamento} #{encomien.agencia.ciudad.ciudCiudad} #{encomien.agencia.agenDireccion}" />
                                    </p:column>  
                                    <p:column id="descripcion" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="agencia Destino" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.agencia1.ciudad.departamento.depDepartamento} #{encomien.agencia1.ciudad.ciudCiudad} #{encomien.agencia1.agenDireccion}" />  
                                    </p:column>
                                    <p:column id="remi" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Remitente" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.cliente.cliRUC.equalsIgnoreCase('--')?encomien.cliente.persona.perDNI:encomien.cliente.cliRUC} #{encomien.cliente.cliRUC.equalsIgnoreCase('--')?encomien.cliente.persona.perApellidos:encomien.cliente.cliRazSoc}" />
                                    </p:column>
                                    <p:column id="desti" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Destinatario" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.cliente1.cliRUC.equalsIgnoreCase('--')?encomien.cliente1.persona.perDNI:encomien.cliente1.cliRUC} #{encomien.cliente1.cliRUC.equalsIgnoreCase('--')?encomien.cliente1.persona.perApellidos:encomien.cliente1.cliRazSoc}" />
                                    </p:column>
                                    <!--<p:column id="fecha" filterMatchMode="contains" filterBy="#{encomien.cliente1.cliRUC} #{encomien.cliente1.cliRazSoc}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Fecha" />
                                        </f:facet>
                                        <h:outputText value="{encomien.viaje.viaFehaSalida}" >
                                            <f:convertDateTime dateStyle="full" timeZone="es" type="date" pattern="dd/MM/yyyy" />
                                        </h:outputText>
                                    </p:column>-->
                                    <p:column id="horasali" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Hora de Salida" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.viaje.viaHoraSalida}" />
                                    </p:column>
                                    <p:column id="descrip" style="text-align: center; white-space: normal" > 
                                        <f:facet name="header">
                                            <h:outputText value="Descripcion" />
                                        </f:facet>
                                        <h:outputText value="#{encomien.encDescripcion}"   />
                                    </p:column>

                                    <p:column id="estado" filterMatchMode="contains" filterBy="#{encomien.encEstado eq 0?'Recogida':encomien.encEstado eq 1?'Por Enviar':encomien.encEstado eq 3?'Enviadas':'Canceladas'}" style="text-align: center" > 
                                        <f:facet name="header">
                                            <h:outputText value="Estado" />
                                        </f:facet>
                                        <h:outputText style="background-color: #{encomien.encEstado eq 0?'orangered':encomien.encEstado eq 1?'green':encomien.encEstado eq 3?'blue':'black'}; font-weight: bold; color: white" value="#{encomien.encEstado eq 0?'Recogida':encomien.encEstado eq 1?'Por Enviar':encomien.encEstado eq 3?'Enviadas':'Canceladas'}" />
                                    </p:column>
                                </p:dataTable>
                            </h:panelGrid>                            
                        </h:panelGrid>

                        <p:dialog modal="true" id="dialog" header="Información Detallada de Encomienda" widgetVar="MarcaDialogo" resizable="false" 
                                  showEffect="explode" hideEffect="explode" height="700px" >
                            <h:panelGrid id="display" columns="2" cellpadding="4" style="width: 100%">
                                <p:fieldset legend="Datos de la Encomienda" toggleable="true" toggleSpeed="500" >  
                                    <p:ajax event="toggle" listener="#{fieldsetBean.handleToggle}" update="growl" />
                                    <h:panelGrid columns="4" cellpadding="10" >  
                                        <h:outputText value="Agencia de Envio: " />  
                                        <h:outputText style="width: 85%" value="#{managedBeanEncomienda.objetoEmcomienda.agencia.ciudad.departamento.depDepartamento} #{managedBeanEncomienda.objetoEmcomienda.agencia.ciudad.ciudCiudad} #{managedBeanEncomienda.objetoEmcomienda.agencia.agenDireccion}" />  
                                        <h:outputText value="Agencia Destino " />  
                                        <h:outputText style="width: 85%" value="#{managedBeanEncomienda.objetoEmcomienda.agencia1.ciudad.departamento.depDepartamento} #{managedBeanEncomienda.objetoEmcomienda.agencia1.ciudad.ciudCiudad} #{managedBeanEncomienda.objetoEmcomienda.agencia1.agenDireccion}" />  
                                        <h:outputText value="Remitente: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente.persona.perDNI:managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC} #{managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente.persona.perApellidos:managedBeanEncomienda.objetoEmcomienda.cliente.cliRazSoc} #{managedBeanEncomienda.objetoEmcomienda.cliente.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente.persona.perNombres:'.'}" />
                                        <h:outputText value="Destinatario: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perDNI:managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC} #{managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perApellidos:managedBeanEncomienda.objetoEmcomienda.cliente1.cliRazSoc} #{managedBeanEncomienda.objetoEmcomienda.cliente1.cliRUC.equalsIgnoreCase('--')?managedBeanEncomienda.objetoEmcomienda.cliente1.persona.perNombres:'.'}" />
                                        <h:outputText value="Nro. Comprobante: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encNroDocComp}" />
                                        <h:outputText value="Descripcion: " />
                                        <h:outputText  value="#{managedBeanEncomienda.objetoEmcomienda.encDescripcion}" />                                        
                                        <h:outputText value="Tipo de Pago"/>
                                        <h:outputText  value="#{managedBeanEncomienda.objetoEmcomienda.tipopago.pagoNombre}" />
                                        <h:outputText value="¿Pagado?" />
                                        <h:outputText  value="#{managedBeanEncomienda.objetoEmcomienda.encPagado eq false?'NO':'SI'}" />                                        
                                        <h:outputText value="Fecha" />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.viaje.viaFehaSalida}" >
                                            <f:convertDateTime dateStyle="full" timeZone="es" type="date" pattern="dd/MM/yyyy" />
                                        </h:outputText>
                                        <h:outputText value="Hora de Salida" />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.viaje.viaHoraSalida}" />

                                        <h:outputText value="Total: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encTotal}" >
                                            <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                        </h:outputText>
                                        <h:outputText value="Descuento: " />
                                        <h:outputText value="#{managedBeanEncomienda.objetoEmcomienda.encDescuento}" >
                                            <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                        </h:outputText>
                                    </h:panelGrid>                                   
                                </p:fieldset>                                
                            </h:panelGrid>
                            <p:dataTable id="tabladetalle" var="encodet" value="#{managedBeanEncomienda.objetoEmcomienda.encomiendadetalleList}" emptyMessage="Datos no encontrados"
                                         rows="15" editable="true" editMode="cell" widgetVar="tabladetalleTable">
                                <f:facet name="header">  
                                    <p:outputPanel>  
                                        <h:outputText value="Listado Detalle de Encomiendas" />    
                                    </p:outputPanel>
                                </f:facet>
                                <p:column headerText="Tipo de Encomienda" style="width:20%" filterMatchMode="contains" filterBy="#{encodet.tipoencomienda.encTipo}">                                            
                                    <h:outputText value="#{encodet.tipoencomienda.encTipo}" />
                                </p:column>

                                <p:column id="desc" filterMatchMode="contains" filterBy="#{encodet.dencDetalle}" style="text-align: center; width:35%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Descripcion" />
                                    </f:facet>  
                                    <h:outputText value="#{encodet.dencDetalle}" />
                                </p:column>
                                <p:column id="cantidad" filterMatchMode="contains" filterBy="#{encodet.dencCantidad}" style="text-align: center; width:15%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Cantidad" />
                                    </f:facet>
                                    <h:outputText value="#{encodet.dencCantidad}" />
                                </p:column>
                                <p:column filterMatchMode="contains" filterBy="#{encodet.dencCantidad}" style="text-align: center; width:15%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Peso (Kg)" />
                                    </f:facet>
                                    <h:outputText value="#{encodet.dencPeso}" >
                                        <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                    </h:outputText>
                                </p:column>
                                <p:column filterMatchMode="contains" filterBy="#{encodet.dencPrecio}" style="text-align: center; width:15%" > 
                                    <f:facet name="header">
                                        <h:outputText value="Precio Unitario (S/.)" />
                                    </f:facet>
                                    <h:outputText value="#{encodet.dencPrecio}" >
                                        <f:convertNumber type="currency" minFractionDigits="2" pattern="#0.00"/>
                                    </h:outputText>
                                </p:column>
                            </p:dataTable>
                        </p:dialog>                        
                        <p:outputPanel id="panel1" autoUpdate="true" style="text-align: center">
                            <center>
                                <p:commandButton value="Postergar/Adelantar" title="Postergar Todas las Encomiendas" alt="Postergar Todas las Encomiendas" icon="ui-icon-print" oncomplete="confirmation33.show()"/>
                            </center>
                        </p:outputPanel>
                        <p:confirmDialog id="confirmDialog33" message="¿Desea Postergar/Adelantar la lista de encomiendas?"
                                         header="Confirmación de Postergación"  severity="alert" widgetVar="confirmation33" width="300" height="60">
                            <p:commandButton id="confirm33" value="SI" oncomplete="confirmation33.hide()"
                                             action="#{managedBeanEncomienda.postergaAdelantaEncom}" update=":frmNuevo:growl :frmNuevo:dataTable" />
                            <p:commandButton id="decline33" value="NO" onclick="confirmation33.hide();" type="button" />
                        </p:confirmDialog>
                    </h:form>
                </p:panel>
            </ui:define>
        </ui:composition>
    </body>
</html>

